package com.example.mvptest;

import com.example.mvptest.present.CalcPresent;
import com.example.mvptest.view.CalcView;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity implements CalcView {
	
	private EditText firstNumEdit;
	private EditText secondNumEdit;
	private Button calcBtn;
	private TextView resultText;
	
	private CalcPresent calcPresent;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		firstNumEdit = (EditText)findViewById(R.id.edit_firstNum);
		secondNumEdit = (EditText)findViewById(R.id.edit_secondNum);
		calcBtn = (Button)findViewById(R.id.btn_calc);
		resultText = (TextView)findViewById(R.id.text_result);
		
		calcPresent = new CalcPresent(this);
		
		calcBtn.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				calcPresent.submit();
			}
		});
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// Handle action bar item clicks here. The action bar will
		// automatically handle clicks on the Home/Up button, so long
		// as you specify a parent activity in AndroidManifest.xml.
		int id = item.getItemId();
		if (id == R.id.action_settings) {
			return true;
		}
		return super.onOptionsItemSelected(item);
	}

	
	@Override
	public String getFirstNum() {
		if (firstNumEdit != null) {
			return firstNumEdit.getText().toString();
		}
		return null;
	}

	@Override
	public String getSecondNum() {
		if (secondNumEdit != null) {
			return secondNumEdit.getText().toString();
		}
		return null;
	}

	@Override
	public void setResultText(double result) {
		if (resultText != null) {
			resultText.setText(result + "");
		}
	}
}
